package com.acmen.easyapi.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;

/**
 * 参数注解说明
 *
 * @Author acmen
 */
@Target({FIELD, PARAMETER, TYPE,METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Param {
    String label();//参数名

    /**
     * 校验类型
     * @return
     */
    String validateExp() default "";

    /**
     * 测试数据，支持动态表达
     * @return
     */
    String testData() default "";

    /**
     * 样例
     * @return
     */
    String example() default "";

    /**
     * 字典类型
     * @return
     */
    String dictType() default "";
    /**
     * 枚举类
     * @return
     */
    Class enumClass()  default Object.class;

    /**
     * 参数说明
     * @return
     */
    String note() default "";
}

